D2C: Deterministic, Deadlock-free Concurrency

نویسندگان

  • Nalini Vasudevan
  • Stephen A. Edwards
  • Julian Dolby
  • Vijay Saraswat
چکیده

The advent of multicore processors has made concurrent programming languages mandatory. However, most concurrent programming models come with two major pitfalls: non-determinism and deadlocks. By determinism, we mean the output behavior of the program is independent of the scheduling choices (e.g., the operating system) and depends only on the input behavior. A few concurrent programming models provide deterministic behavior by providing constructs that impose additional synchronization, but the improper (or the out of order) use of these constructs leads to problems like deadlocks. In this paper, we argue for both determinism and deadlock-freedom and provide a deterministic, deadlockfree concurrent model. The model can be implemented either as programming language constructs or as a library. Any program that uses this model is guaranteed to produce the same output for a given input. Additionally, the program will never deadlock: the program will either terminate or run for ever.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

DC: A Deterministic, Deadlock-free Concurrent Programming Model

The advent of multicore processors has made concurrent programming models mandatory. However, most concurrent programming models come with a repertoire of problems. The two major ones are non-determinism and deadlocks. By determinism, we mean the output behavior of the program is independent of the interleaving caused by the schedule and depends only on the input behavior. A few concurrent mode...

متن کامل

Pre-Analysis Locking: A Safe and Deadlock Free Locking Policy

A safe and deadlock free lock policy is introduced, called pre-analysis locking. Pre-analysis locking is based on an efficient geometric algorithm which inserts lock and unlock operations into the transactions. Pre-analysis locking is the first safe and deadlock free general locking policy which is not a variant of two-phase locking. It is an approach conceptually different from policies follow...

متن کامل

A Partially Deadlock - free Typed Process Calculus ( I ) { A Simple System

Concurrency primitives play an important role in describing programs on parallel/distributed environments and also in writing interactive programs. Theoretical supports for concurrency primitives, however, have so far been very limited. Several type systems have been recently proposed through process calculi, but most of them do not solve inherent problems in concurrent programs: deadlock and n...

متن کامل

RADBench: A Concurrency Bug Benchmark Suite

Testing and debugging tools for concurrent programs are often validated on known bugs. To aid the development of these tools, we present the Race, Atomicity, and Deadlock Benchmark (RADBench) suite. The RADBench suite contains the full source of 10 real concurrency bugs found in large open-source software projects including Mozilla SpiderMonkey, Mozilla NSPR, Memcached, Apache Web Server, and G...

متن کامل

Advanced Indexing Techniques for Achieving Concurrency in Multidimensional Data Sets

In multidimensional datasets concurrent accesses to data via indexing structures introduce the problem protecting ranges specified in the retrieval from phantom insertions and deletions. This paper proposes a novel approach for concurrency in multidimensional datasets using Advanced Indexing Technique like generalized search tree, R tree and its variants, constitutes an efficient and sound conc...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2010